![]() METHOD AND APPARATUS TO RECORD SERVICE DATA IN CHAIN OF BLOCKS AND METHOD FOR DETERMINING SUBCONJECT
专利摘要:
the present application discloses a method for recording transaction data in a block chain comprising: obtaining a plurality of pieces of transaction data to be recorded in a block chain; determine transaction subsets to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no transaction dependency relationship between the transaction data belonging to the transaction subsets many different; and execute the subsets of transactions in parallel, and record an execution result in the block chain. the present application further discloses an apparatus for recording transaction data in a block chain and a method for determining a subset of transactions. the present order can achieve the parallel execution of transaction data without a transaction dependency relationship, thereby reducing the cost required to improve the efficiency of data processing execution and improve expandability. 公开号:BR112019017863A2 申请号:R112019017863-5 申请日:2018-02-26 公开日:2020-05-12 发明作者:Qiu Honglin 申请人:Alibaba Group Holding Limited; IPC主号:
专利说明:
“METHOD AND APPARATUS TO RECORD SERVICE DATA IN CHAIN OF BLOCKS AND METHOD FOR DETERMINING SUBCONJECT OF SERVICES” TECHNICAL FIELD [001] The present application relates to the field of information technology and, in particular, to a method and apparatus for recording transaction data in a block chain and to a method for determining a subset of transaction data transactions. block chain. BACKGROUND [002] With the development of information technologies, block chain technologies (also called distributed current account network) have been used extensively in numerous fields, such as smart contracts, securities transactions, electronic commerce, Internet of Things, communications social, file storage, proof of existence, identity verification and collection of capital resources, due to advantages such as decentralization, openness and transparency, immutability and credibility. [003] In one example, block chain technologies are a type of decentralized and distributed database technologies. Each piece of data in a block chain will be broadcast to all block chain nodes across the network and each node maintains the complete amount of data that is consistent with each other. Block chain technologies require that all nodes maintain the same state, including the database state and the like. To ensure consistency in the database state, block chain transactions are required to be an ordered sequence that is consistent for all nodes, and all nodes execute transactions in that sequence to complete the transaction verification, implementation, inclusion of data in the chain, etc. Adopting the Ethereum blockchain application as an example, a timestamp is Petition 870190083900, of 27/08/2019, p. 8/67 2/35 created when each transaction is received, the transactions are recorded in a transaction set, and the transactions are classified according to the timestamps; during mining, transactions are executed according to the sequence of transaction timestamps and the account information after the execution of each transaction is updated in a database, thereby achieving status update database account. [004] In current technologies, to ensure consistency in the state of the database, data needs to be processed according to a series of transaction receipt timestamps (which can be constructed as the transaction data is recorded in a chain of blocks). Therefore, it is limited that only a single machine can execute, causing the performance and recording efficiency of a database to be limited by the performance of a single machine. To improve recording performance and efficiency, the physical properties, such as CPU, of a single machine must be improved, such as increasing the central number of CPUs, which does not lead to a high cost, but also limits expandability. SUMMARY [005] The modalities of the present application provide a method and an apparatus for recording transaction data in a chain of blocks, which are intended to reduce the cost required to improve the efficiency of data processing execution and to improve expandability. [006] The modalities of the present application additionally provide a method for determining a subset of block chain transaction data transactions, which is designed to reasonably split the transaction data, thereby reducing the cost required to improve the efficiency of data processing execution and improve expandability. Petition 870190083900, of 27/08/2019, p. 9/67 3/35 [007] The modalities of this application employ the following technical solutions: [008] According to a first aspect, the method for recording transaction data in a block chain provided by the modalities of the present application comprises: [009] obtaining a plurality of pieces of transaction data to be executed; [010] determine subsets of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no transaction dependency relationship between the transaction data belonging to subsets of different transactions; and [011] execute subsets of transactions in parallel, and record an execution result in the block chain. [012] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the determination of subsets of transactions to which the transaction data belongs according to the types of transaction and / or ranges of data change of transaction data comprises: [013] determine the subsets of transactions to which the transaction data belongs according to the data attributes of the transaction data, where a data attribute has a relationship corresponding to a type of transaction and / or range of data change of transaction data, and the data attribute is used to reflect a transaction dependency relationship of the transaction data. [014] Preferably, in the method of recording transaction data in a chain of blocks provided by the modalities of this application, the execution of the Petition 870190083900, of 27/08/2019, p. 10/67 4/35 subsets of parallel transactions comprise: [015] execute the subsets of transactions in parallel with the use of multiple execution line or a grouping of machines. [016] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, there is a corresponding relationship between the transaction data and the timestamps, and the execution of the subsets of transactions comprises : [017] execute transaction data comprised in the subsets of serial transactions according to a time order corresponding to the timestamps. [018] Preferably, in the method of recording transaction data in a block chain provided by the modalities of this application, the determination of subsets of transactions to which the transaction data belongs according to the transaction types of the transaction data comprises : [019] according to the transaction types of the transaction data, inserting transaction data from the same transaction type into the same subset of transactions, and dividing transaction data from different transaction types into different transaction subsets. [020] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the determination of subsets of transactions to which the transaction data belongs according to the data change ranges of the transaction data. transaction comprises: [021] according to the data change ranges of the transaction data, insert transaction data that have data change ranges that overlap in the same subset of transactions, and split transaction data that have data change ranges that do not overlap in different subsets of different transactions. Petition 870190083900, of 27/08/2019, p. 11/67 5/35 [022] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, according to the data change ranges of the transaction data, insert transaction data that have data change ranges that overlap in the same set of transactions, and dividing transaction data that have ranges of data change that do not overlap into different subsets of transactions comprises: [023] go through the data change ranges of the transaction data; [024] if the data change range for the first part of transaction data overlaps the data change range for a first subset of transactions, add the first part of transaction data to the first subset of transactions; and [025] if the data change range of the first transaction data portion does not overlap the data change range of the first transaction subset, create a second transaction subset comprising the first transaction data portion; [026] where the first part of transaction data is any of the parts of transaction data, the first subset of transactions is any of the subsets of transactions and the second subset of transactions is different from the first subset of transactions. [027] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the data change range of the transaction subset is determined to be a union of data data change ranges from transaction included in the subset of transactions. [028] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, there is a corresponding relationship between the transaction data and the timestamps, and the Petition 870190083900, of 27/08/2019, p. 12/67 6/35 ranges of change of transaction data shift data comprises: [029] scroll through a time order corresponding to the timestamps according to the timestamps of the transaction data. [030] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the determination of subsets of transactions to which the transaction data belongs according to the types of transaction and change ranges of transaction data data comprises: [031] determine a level I subset to which the transaction data belongs according to the transaction types of the transaction data; and [032] determine a level II subset to which the transaction data in the level I subset belongs according to the data change ranges of the transaction data, and use the level II subset as one of the transaction subsets, in that the level II subset is a subset of the level I subset. [033] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the determination of a subset of level I to which the transaction data belongs according to the transaction types of the transaction data. transaction comprise: [034] according to the transaction types of the transaction data, inserting transaction data of the same type of transaction in the same level I subset, and dividing transaction data of different types of transaction into different level I subsets. [035] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, the determination of a level II subset to which the transaction data in the level I subset belong according to the ranges change data from Petition 870190083900, of 27/08/2019, p. 13/67 7/35 transaction comprises: [036] according to the data change ranges of the transaction data in the level I subset, insert transaction data that have data change ranges that overlap in the same level II subset, and split transaction data that have data change ranges that do not overlap in different level II subsets. [037] Preferably, in the method for recording transaction data in a block chain provided by the modalities of this application, according to the data change ranges of the transaction data in the level I subset, insert transaction data that have data change ranges that overlap in the same level II subset, and splitting transaction data that have data change ranges that do not overlap in different level II subsets comprises: [038] traversing ranges of change of transaction data data in a first level I subset; [039] if the data change range of a second part of transaction data overlaps the data change range of a first level II subset, add the second part of transaction data to the first level II subset; and [040] if the data change range of the second part of transaction data does not overlap the data change range of the first level II subset, create a second level II subset comprising the second transaction data; [041] where the first level I subset is any level I subset in level I subsets, the second part of transaction data is any part of the transaction data in the first level I subset, the first level II subset is any subset of level II in the first subset of Petition 870190083900, of 27/08/2019, p. 14/67 8/35 level I and the second level II subset is different from the first level II subset. [042] Preferably, in the method of recording transaction data in a block chain provided by the modalities of the present application, a plurality of pieces of transaction data to be performed is obtained to form a set of transactions to be performed comprising the data of transaction, and the set of transactions is determined by a predefined amount of data processing and / or predefined transaction data time. [043] According to a second aspect, the modalities of the present application additionally provide another method for recording transaction data in a block chain comprising: [044] obtaining a plurality of pieces of transaction data to be recorded in a block chain; [045] determining the first transaction data without a transaction dependency relationship according to the data change ranges of the transaction data, in which there is no transaction dependency relationship between the first transaction data; and [046] execute the first transaction data in parallel, and record an execution result in the block chain. [047] Preferably, in the method for recording transaction data in a block chain described above, the determination of the first transaction data without a transaction dependency relationship according to the data change ranges of the transaction data comprises: [048] according to the data change ranges of the transaction data, determine transaction data with a data change range that does not overlap with another data change range of any other part of transaction data such as the first transaction data has no relationship Petition 870190083900, of 27/08/2019, p. 15/67 9/35 transaction dependency. [049] In accordance with a third aspect, the modalities of the present application additionally provide an apparatus for recording transaction data in a block chain comprising: [050] an acquisition module configured to obtain a plurality of pieces of transaction data to be recorded in a block chain; [051] a transaction subset determination module configured to determine a subset of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no relationship transaction dependency between transaction data belonging to different subsets of transactions; and [052] a data execution module configured to execute the subsets of transactions in parallel, and record an execution result in the block chain. [053] According to a fourth aspect, the modalities of the present application additionally provide a method for determining a subset of block chain transaction data transactions, comprising, after a plurality of pieces of transaction data to be recorded in a block chain to be obtained, determine subsets of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data to execute the subsets of transactions in parallel, and record a result of execution in the block chain, in which there is no transaction dependency relationship between the transaction data belonging to different subsets of transactions. [054] Preferably, in the method for determining a subset of transactions provided by the modalities of this application, the determination of Petition 870190083900, of 27/08/2019, p. 16/67 10/35 subsets of transactions to which the transaction data belongs according to the types of transaction and / or data change ranges of the transaction data comprises: [055] determine the subsets of transactions to which the transaction data belongs according to the data attributes of the transaction data, where a data attribute has a relationship corresponding to the type of transaction and / or range of data change transaction data, and the data attribute is used to reflect a transaction dependency relationship for the transaction data. [056] Preferably, in the method for determining a subset of transactions provided by the modalities of this application, the determination of subsets of transactions to which the transaction data belongs according to the transaction types of the transaction data comprises: [057] according to the transaction types of the transaction data, inserting transaction data from the same transaction type in the same transaction set, and dividing transaction data from different transaction types into different transaction subsets; or [058] the determination of transaction subsets to which the transaction data belongs according to the data change ranges of the transaction data comprises: [059] according to the data change ranges of the transaction data, insert transaction data that have data change ranges that overlap in the same set of transactions, and split transaction data that have data change ranges that do not overlap in different subsets of different transactions. [060] Preferably, in the method for determining a subset of transactions provided by the modalities of this application, the determination of Petition 870190083900, of 27/08/2019, p. 17/67 11/35 subsets of transactions to which the transaction data belongs according to the types of transaction and ranges of data change of the transaction data comprises: [061] determine a level I subset to which the transaction data belongs according to the transaction types of the transaction data; and [062] determine a level II subset to which the transaction data in the level I subset belongs according to the data change ranges of the transaction data, and use the level II subset as one of the transaction subsets, in that the level II subset is a subset of the level I subset. [063] The at least technical solution described above employed by the modalities of this application can achieve the following beneficial effects: [064] In the modalities of this application, after the transaction data to be recorded in a block chain is obtained, whether there is a transaction dependency relationship between the transaction data can be determined according to the types of transaction or the range of change of data of the transaction data and then the transaction data can be divided into different subsets of transactions according to the situation of transaction dependency between the transaction data. Since there is no transaction dependency relationship between the transaction data belonging to different transaction subsets, the different transaction subsets can be executed in parallel without affecting the consistency in the database state. According to the solutions provided by the modalities of this application, executing transaction data without a parallel transaction dependency relationship not only guarantees consistency in the database state, but also improves the efficiency of data processing execution without depending performance improvements for individual machines. Therefore, the performance requirements for Petition 870190083900, of 27/08/2019, p. 18/67 12/35 individual machines can be reduced, which favors cost savings and leads to better expandability. BRIEF DESCRIPTION OF THE DRAWINGS [065] The attached drawings to be described in the document are used to provide a better understanding of this application and are part of this application. The exemplary embodiments of the present application and the description of the exemplary embodiments are used to describe the present application and are not inappropriate limitations on the present application. In the attached drawings: [066] Figure 1 is a flow chart of a method for recording transaction data in a block chain according to some modalities of the present application; [067] Figure 2 is a flowchart of a second method for recording transaction data in a chain of blocks according to some modalities of the present order; [068] Figure 3 is a flow chart of a third method for recording transaction data in a block chain according to some modalities of the present application; [069] Figure 4 is a schematic diagram of an exemplary application scenario of the method for recording transaction data in a block chain according to some modalities of the present application; [070] Figure 5 is a schematic structural diagram of an apparatus for recording transaction data in a block chain according to some modalities of the present application. DETAILED DESCRIPTION [071] In order to clarify the objectives, technical solutions and advantages of this application, the technical solutions of this application will be described clearly and completely below with reference to the modalities and the Petition 870190083900, of 27/08/2019, p. 19/67 13/35 drawings attached to this application. It is obvious that the modalities described are merely some, but not all, of the present application. Based on the modalities of this application, all other modalities obtainable by an element of common skill in the technique without creative effort must be within the scope of this application. [072] The technical solutions provided in the modalities of this application will be described in detail below with reference to the attached drawings. MODE 1 [073] Figure 1 illustrates a method for recording transaction data in a block chain according to some of the modalities of the present application which comprises: [074] S101: obtaining a plurality of pieces of transaction data to be recorded in a block chain; [075] S102: determine subsets of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no transaction dependency relationship between the transaction data belonging to different subsets of transactions; and [076] S103: execute the subsets of transactions in parallel, and record an execution result in the block chain. [077] In the mode described above, after step S101 is performed to obtain transaction data to be recorded in a block chain, whether there is a transaction dependency relationship between the transaction data can be determined according to the types of transaction or data change range of the transaction data and then the transaction data can be divided into different subsets of transactions according to the transaction dependency situation between the transaction data. Since there is no Petition 870190083900, of 27/08/2019, p. 20/67 14/35 transaction dependency between the transaction data belonging to different transaction subsets, the different transaction subsets can be executed in parallel without affecting the consistency in the database state. According to the solutions provided by the modalities of this application, the way in which transaction data in a subset of transactions are executed in parallel can improve the efficiency of data processing execution without relying on performance improvements of individual machines. Therefore, performance requirements for individual machines can be reduced, which favors cost savings and leads to better expandability. [078] After a plurality of pieces of transaction data is obtained after step S101 is performed in the present mode, a set of transactions to be performed comprising the transaction data to be performed can be formed, and the set of transactions can be formed determined by a predefined amount of data processing and / or predefined transaction data time. In one example, transaction data to be executed in the same batch can be determined by pre-defining a data processing amount, and an exemplary value of the predefined data processing amount can be determined according to an allowed amount of data to be recorded in a chain of blocks. For example, the amount of transaction data allowed to be written to a block chain is 1,000 and then the predefined amount of data processing can be set to be less than 1,000, for example 800, for the purpose of serving to the requirement. In an exemplary implementation, whenever a server receives 800 pieces of transaction data, the server can form a set of transactions to be executed for further processing. When the set of transactions to be executed is determined, transaction data to be executed in the same batch Petition 870190083900, of 27/08/2019, p. 21/67 15/35 can be determined by pre-defining time transaction data. For example, the predefined transaction data time is set to be 1 s and then the transaction data to be executed in the same batch is transaction data generated in parallel within 1 s. [079] When step S103 is performed, since the transaction data has been divided into a plurality of transaction subsets without a transaction dependency relationship, the transaction subsets can be executed in parallel with the use of the thread multiple or a grouping of machines, which not only meets the requirement for consistency in the database state, but also achieves the goal of improving data execution efficiency. In this way, data execution efficiency can be improved without relying on performance improvements for individual machines. Therefore, the performance requirements for individual machines can be reduced, which favors cost savings and leads to better expandability by using the machine grouping method. [080] In another example, when the transaction subsets that comprise the transaction data are executed, there is no transaction dependency relationship between the transaction data divided into different transaction subsets, while there is a transaction dependency relationship between the transaction data entered in the same transaction set. Therefore, subsets of different transactions can be executed in parallel to improve data execution efficiency, while transaction data in the same transaction set can be executed in series to ensure consistency in the database state. In one example, there is a corresponding relationship between transaction data and timestamps, and then, when a subset of transactions is executed, the transaction data comprised in the subset of transactions is executed in series according to Petition 870190083900, of 27/08/2019, p. 22/67 16/35 with a time order corresponding to the timestamps. In addition, the execution of each piece of transaction data is performed in a transaction verification order, transaction implementation and inclusion of data in the chain to finally record an execution result in the block chain. [081] When step S102 is performed, the subsets of transactions can be determined in a variety of different ways, provided that transaction data with a transaction dependency relationship is separated from transaction data without a transaction dependency relationship . In an example, a subset of transactions to which the transaction data belongs can be determined according to a data attribute of the transaction data, where the data attribute has a relationship corresponding to a type of transaction and / or range of transactions. changing data from transaction data, and the data attribute is used to reflect a transaction dependency relationship on transaction data. Then, transaction data with a transaction dependency relationship can be inserted into the same set of transactions, and transaction data without a transaction dependency relationship can be divided into different subsets of transactions according to the extracted data attributes. transaction data, thereby achieving the parallel execution of different subsets of transactions. In a further example, a data attribute can be incorporated in the form of an identifier field comprised in the transaction data or it can be incorporated in the form of characteristic information carried by the transaction data. If a designated identifier field is understood it can be determined, or information characteristic of the transaction data can be extracted and then, if the characteristic information meets a present condition it can be determined, thereby determining a relationship of dependence on data transaction Petition 870190083900, of 27/08/2019, p. 23/67 17/35 transaction according to the data attribute. [082] The transaction dependency relationship between the transaction data presented in the modalities of this order can be incorporated by transaction association that is present when different transaction data are executed, for example, the association in aspects, such as time order, transaction object or execution result. For example, if a transaction data run with a later run time is dependent on the result of running transaction data with a previous run time, or if different transaction data runs impact the same data state, then These two pieces of transaction data are considered to have a transaction dependency relationship. On the other hand, it can be considered that these two pieces of transaction data do not have a transaction dependency relationship. [083] A process for determining a subset of transactions will be described in detail throughout the examples. [084] (I) Determination of a subset of transactions according to the transaction types of the transaction data [085] In the modalities of this application, a subset of transactions can be determined according to the transaction types of the transaction data. In one example, transaction data for the same transaction type is inserted into the same transaction set, and transaction data for different transaction types is divided into different subsets of transactions. Since there is no transaction dependency relationship between transaction data for different transaction types, the outcome of data execution will not be affected regardless of an order in which transaction data for different transaction types are executed. Determining whether the transaction data belongs to the same set of transactions according to the types of transactions Petition 870190083900, of 27/08/2019, p. 24/67 18/35 transaction of transaction data can ensure that there is no transaction dependency relationship between transaction data belonging to different transaction subsets, thereby meeting the need for parallel processing of transaction data in transaction subsets and favoring the improvement of the efficiency of data processing execution. [086] For example, after a contract-type transaction (which can also be called a transaction) is executed, only the corresponding contractual data is changed, while after a transfer-type transaction (which can also be called a transaction) executed, the account balance data of both parties to the transfer are changed. It can be seen that the order in which these two types of transactions are executed does not have an impact on the outcome of the execution. Therefore, dividing two different types of transactions into different subsets of transactions can ensure that transaction data belonging to different subsets of transactions does not have a transaction dependency relationship, so that the subsets of transactions can be processed in parallel without affect consistency in the database state. [087] (II) Determination of a subset of transactions according to the data change ranges of the transaction data [088] The data change range in this application refers to an objective for executing transaction data. In the modalities of this application, according to the data change ranges of the transaction data, transaction data that has overlapping data changes ranges can be inserted into the same set of transactions and transaction data that have change ranges non-overlapping data can be divided into different subsets of transactions. When a subset of transactions is Petition 870190083900, of 27/08/2019, p. 25/67 19/35 determined according to the data change ranges of the transaction data different parts of transaction data need to be executed in an order in which these parts of transaction data are generated, if the data ranges affected by the execution of those parts transaction data overlap, otherwise the data execution result will be affected. On the other hand, if the ranges of data ranges affected by the execution of different pieces of transaction data do not overlap, an order of execution of those pieces of transaction data will not affect the result of data processing. Therefore, the determination of a subset of transactions according to the data change ranges of the transaction data can meet the need for parallel processing of subsets of different transactions, thereby favoring the improvement of processing execution efficiency. of data. [089] In one example, inserting transaction data that has data change ranges that overlap in the same set of transactions and splitting transaction data that has data change ranges that don't overlap into subsets of transactions can understand: [090] go through data change ranges of transaction data; [091] if the data change range for the first transaction data overlaps the data change range for a first subset of transactions, add the first transaction data to the first subset of transactions; and [092] if the data change range of the first transaction data does not overlap the data change range of the first transaction subset, create a second transaction subset that comprises the first transaction data; [093] where the first transaction data is any part of transaction data, the first subset of transactions is any subset of Petition 870190083900, of 27/08/2019, p. 26/67 20/35 transactions in the transaction subsets and the second transaction subset is different from the first transaction subset. [094] The process described above will be described below with reference to the flowchart shown in Figure 2. [095] S1021: determine whether all parts of transaction data in the transaction set have been traversed, the process ends if yes, otherwise, the process proceeds to execute step S1022; [096] S1022: obtain any piece of TX transaction data from the transaction set; it should be noted that TX transaction data can be extracted and generated typically from transaction data that has not been inserted into a subset of transactions; however, if the extracted TX transaction data has already been entered into a subset of transactions, the TX transaction data will be inserted into the same transaction set after subsequent steps have been performed without affecting the scope of the technique objective; [097] S1023: compute a data change range for TX transaction data; [098] S1024: determine whether the data change range of the TX transaction data overlaps the data change range of an existing subset of TXB transactions; [099] S1025: if a determination result in step S1024 is yes, add the TX transaction data to the TXB transaction subset; [0100] S1026: if the determination result in step S1024 is no, create a new subset of TXN transactions, and add the TX transaction data to the TXN transaction subset. [0101] It should be noted that the data change range for a subset of transactions needs to be recalculated when the transaction data comprised in the transaction subset changes, and a union of data ranges Petition 870190083900, of 27/08/2019, p. 27/67 21/35 change of transaction data data comprised in the transaction subset can be used as the data change range of the transaction subset. [0102] For example, the execution object of a contract type transaction is a contract ID, and the contractual data corresponding to the contract ID will be changed after execution. Then, the contract ID can be interpreted as the data change range of the transaction data. If two pieces of transaction data are executed for the same contract ID, the data change ranges for those two pieces of transaction data can be considered to overlap and then these two pieces of transaction data should be included in the same set of transactions and executed in an order determined according to the timestamps corresponding to the transaction data. If two pieces of transaction data are executed for different contract IDs, the data change ranges for those two pieces of transaction data cannot be considered to overlap, and the contract data corresponding to the different contract IDs will change when these two pieces of transaction data are executed. Therefore, the execution order does not have an impact on the execution result. These two pieces of transaction data can be included in different subsets of transactions and executed in parallel. [0103] In another example, the execution objects of a transfer transaction are accounts of both parties to the transfer, and after the transfer transaction is executed, the account balance data of both parties of the transfer will be changed. Therefore, the accounts of both parties to the transfer can be interpreted as the data change range of the transfer type transaction data. The transaction set is considered to comprise the following five pieces of transaction data: Petition 870190083900, of 27/08/2019, p. 28/67 22/35 [0104] transaction data 1: transfer from account A to account B, then the data change range of transaction data 1 can be expressed as (A, B); [0105] transaction data 2: transfer from account B to account A, then the data change range of transaction data 2 can be expressed as (B, A); [0106] transaction data 3: transfer from account C to account E, then the data change range of transaction data 3 can be expressed as (C, E); [0107] transaction data 4: transfer from account F to X, then the data change range of transaction data 4 can be expressed as (F, X); [0108] transaction data 5: transfer from account X to account E, then the data change range of transaction data 5 can be expressed as (X, E). [0109] It can be seen that the data change ranges of transaction data 1 and transaction data 2 overlap, the data change ranges of transaction data 3 and transaction data 5 overlap and the data change of transaction data 4 and transaction data 5 overlap. Therefore, the set of transactions comprising transaction data 1 to transaction data 5 can be divided into the following subsets of transactions: [0110] subset of transactions 1: comprising transaction data 1 and transaction data 2, and the data change range being (A, B); and [0111] subset of transactions 2: comprising transaction data 3, transaction data 4 and transaction data 5, and the data change range being (C, E, F, X). [0112] It can be seen that the data change ranges of the subset of Petition 870190083900, of 27/08/2019, p. 29/67 23/35 transactions 1 and transaction subset 2 do not overlap, and a parallel execution of transaction subset 1 and transaction subset 2 will not affect an execution result. Therefore, transaction subset 1 and transaction subset 2 can be performed in parallel to improve execution efficiency. For the subset of transactions 1, the data change ranges of transaction data 1 and transaction data 2 overlap (which are even completely identical), and the execution of these two pieces of transaction data may depend on transaction data. transaction before the execution of these two pieces of transaction data. Therefore, an order of execution needs to be determined according to the timestamps corresponding to these two pieces of transaction data, and these two pieces of transaction data will be executed in series in the temporal order. It is the same for the subset of transactions 2. For example, it can be determined according to the timestamps that transaction data 4 from transferring account F to account X is executed first, and then data from transaction 5 transferring from account X to account E is performed. This order of execution can neither be in parallel nor inverted, since the fund required for transferring account X to account E is possible when transaction data 5 is executed depends on the execution of transaction data 4 for transferring account F for account X. [0113] It should be noted that the ranges of change of displacement data of the transaction data in the transaction set can be implemented in the manner of S1022: obtaining any piece of transaction data as shown in the example in Figure 2. Alternatively, the displacement it can be implemented according to the time order of generation of the transaction data in the set of transactions according to the timestamps of the transaction data. Petition 870190083900, of 27/08/2019, p. 30/67 24/35 [0114] (III) Determination of a subset of transactions according to the types of transaction and data change ranges of the transaction data [0115] In the modalities of this application, the type of transaction and the data change range can be combined to determine a subset of transactions in phases and levels. In an exemplary implementation, the split can be performed first according to the data change ranges on the basis of which a second split can be performed according to the types of transactions, or an inverted order can be followed. Adopting the first division according to the transaction types and then the second division according to the data change ranges as an example, the implementation process of determining a subset of transactions according to the transaction types and ranges change data of transaction data may include: [0116] Step S1027: determine a level I subset to which the transaction data belongs according to the transaction types of the transaction data; then determine a level II subset to which the transaction data belongs according to the data change ranges of the transaction data in the level I subset, and use the level II subset as the transaction subset, where the subset level II is a subset of the level I subset. [0117] In the document, the realization of a first level division in the transaction set according to the type of transaction and the determination of a level I subset to which the transaction data belong can additionally comprise: [0118] according to the transaction types of the transaction data in the transaction set, insert transaction data of the same transaction type in the same level I subset, and split transaction data of different types of Petition 870190083900, of 27/08/2019, p. 31/67 25/35 transaction in different level I subsets. [0119] Since there are a very limited number of transaction types of transaction data, determining subsets of transactions that can be performed only in parallel according to the transaction types can improve execution efficiency to a degree, but it may not achieve a satisfactory effect in cases where a large amount such as a high amount of competing transaction data is generated. Therefore, based on the division described above, the level I subsets determined according to the types of transactions are submitted to the second level division according to the data change ranges, and the level II subsets obtained through the second division level are used as subsets of transactions for parallel processing with the purpose of further improving execution efficiency. [0120] In one example, the determination of a level II subset to which the transaction data belongs according to the data change ranges of the transaction data in the level I subset comprises: [0121] according to the data change ranges of the transaction data in the level I subset, insert transaction data that have data change ranges that overlap in the same level II subset, and split transaction data that have ranges of data change that do not overlap in different level II subsets. [0122] Additionally, according to the data change ranges of the transaction data in the level I subset, the insertion of transaction data that have data change ranges that overlap in the same level II subset and data division transactions that have data change ranges that do not overlap in different level II subsets can understand as shown in Figure 3: [0123] S1028: scroll through data change ranges for transaction data Petition 870190083900, of 27/08/2019, p. 32/67 26/35 in a first level I subset; [0124] S1029: determine whether the data change range of second transaction data overlaps the data change range of a first level II subset; [0125] S1030: if the data change range of the second transaction data overlaps the data change range of the first level II subset, add the second transaction data to the first level II subset; and [0126] S1031: if the data change range of the second transaction data does not overlap the data change range of the first level II subset, create a second level II subset comprising the second transaction data; [0127] where the first level I subset is any level I subset in level I subsets, the second transaction data is any portion of transaction data in the first level I subset, the first level II subset is any subset of level II in the first subset of level I and the second subset of level II is different from the first subset of level II. [0128] The process of dividing subsets of level II of subsets of level I is similar to the process and the principle of dividing subsets of transactions in a set of transactions as described in paragraph (II), which will not be elaborated here. [0129] After the implementation process described above is used for splitting subsets of transactions, the subsets of transactions can be executed in parallel to complete the process of executing block chain transaction data to record the execution result in the chain of blocks. As shown in Figure 4, a transaction data disposition module is configured to achieve the division of subsets of transactions. a Petition 870190083900, of 27/08/2019, p. 33/67 27/35 transaction data execution grouping executes transaction data in different subsets of transactions in parallel, executes transaction data contained in a subset of serial transactions according to the timestamps corresponding to the transaction data and, it then records the execution result in the block chain, thereby ensuring consistency in the state of the block chain database, reduces the cost required to improve execution and data processing efficiency, and improves expandability . When the execution result is written to a block in the block chain, the results of execution of transaction data by the transaction data execution grouping can be summarized and then written to the block chain. In one example, a computer designated in the cluster can complete the compression of run results. [0130] In current technologies, an application of Ethereum is adopted as an example, the transaction data is classified according to the timestamps received from the transaction data when the transaction data is executed and then the execution is performed in series in the temporal order to update the account information after each piece of transaction data is executed. In the modalities of this order, after the transaction data to be recorded in a block chain (that is, the transaction data received by the block chain) is obtained, the transaction data is classified first according to the types of transaction and / or data change ranges to form subsets of transactions, causing transaction data without a transaction dependency relationship to be divided into different transaction subsets and transaction data with a transaction dependency relationship to be inserted into the same set of transactions. Transaction data splitting and determination of transaction subsets can be implemented by the transaction data disposition module Petition 870190083900, of 27/08/2019, p. 34/67 28/35 shown in Figure 4. After the transaction data disposition module completes the transaction data splitting, the transaction data disposition module can distribute the subsets of transactions to computers in the transaction data execution grouping for Data processing. Each computer in the transaction data execution grouping executes only transaction data in an allocated subset of transactions, follows the verification, implementation and registration process in a block chain to record an execution result in the block chain. In an exemplary implementation, the transaction data disposition module and the transaction data execution grouping can also be interpreted together as a transaction execution grouping to implement reception, classification, distribution and execution of transaction data functions, compress execution results of transaction data and record the execution results compressed in the block chain. MODE 2 [0131] The modalities of the present application additionally provide another method for recording transaction data in a chain of blocks comprising: [0132] obtaining a plurality of pieces of transaction data to be executed; [0133] determining first transaction data without a transaction dependency relationship according to the data change ranges of the transaction data, in which there is no transaction dependency relationship between the first transaction data; and [0134] execute the first transaction data in parallel, and record an execution result in the block chain. [0135] In an example, when the first transaction data is Petition 870190083900, of 27/08/2019, p. 35/67 29/35 determined, transaction data with a data change range that does not overlap another data change range from any other part of transaction data can be determined as the first transaction data that has no transaction dependency relationship according to the data change ranges of the transaction data. [0136] The plurality of parts of transaction data is considered obtained as follows: No. of Data Transaction type Data change range Comments 1 Contract IDA Execution will change ID A data 2 Contract IDA Execution will change ID A data 3 Contract ID B Execution will change ID B data 4 Contract ID C Execution will change ID C data 5 Transfer Account X, AccountY Execution will change Account X and Account Y data 6 Transfer Account Z, Account D Execution will change data for Account Z and Account D 7 Transfer Account X, Account M Execution will change Account X and Account M data 8 Transfer Account N, Account L Execution will change Account N and Account L data [0137] According to the data change ranges of the transaction data, it can be seen that the data change ranges of the transaction data 3, 4, 6 and 8 do not overlap the data change ranges of any other data transaction. Therefore, the order of execution of these pieces of transaction data does not affect consistency in the database state. As a result, the parallel execution of these pieces of transaction data favors the improvement of the efficiency of data processing execution, thereby reducing the cost required to improve the efficiency of data processing execution and improve expandability. MODE 3 [0138] As shown in Figure 5, a device for recording data from Petition 870190083900, of 27/08/2019, p. 36/67 30/35 transaction in a block chain according to the present application may comprise: [0139] a retrieval module 101 configured to retrieve a plurality of pieces of transaction data to be recorded in a block chain; [0140] a transaction subset determination module 102 configured to determine a subset of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no transaction dependency relationship between transaction data belonging to different subsets of transactions; and [0141] a data execution module 103 configured to execute the subsets of transactions in parallel, and record an execution result in the block chain. [0142] The present modality consists of a device corresponding to the method for recording transaction data in a block of blocks in modality 1. All descriptions of modality 1 are applicable to the present modality, which will not be elaborated here. MODE 4 [0143] This application additionally provides a method for determining a subset of block chain transaction data transactions. Transaction data can be reasonably divided using this method, causing transaction data without a transaction dependency relationship to be executed in parallel, thereby reducing the cost required to improve the efficiency of processing execution. data and improve expandability. The method comprises: [0144] after a plurality of pieces of transaction data to be performed is obtained, the subsets of transactions to which the transaction data Petition 870190083900, of 27/08/2019, p. 37/67 31/35 transaction belong are determined according to the transaction types and / or data change ranges of the transaction data to execute the subsets of transactions in parallel, in which there is no transaction dependency relationship between the transaction data belonging to different subsets of transactions. [0145] In one example, the determination of transaction subsets to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data may comprise: [0146] determine the subsets of transactions to which the transaction data belongs according to the data attributes of the transaction data, where a data attribute has a relationship corresponding to a type of transaction and / or range of data change of transaction data, and the data attribute is used to reflect a transaction dependency relationship for the transaction data. [0147] Additionally, the determination of transaction subsets to which the transaction data belongs according to the transaction types of the transaction data may comprise: according to the transaction types of the transaction data, insert transaction data for the same transaction data transaction type in the same set of transactions, and splitting transaction data from different transaction types into different subsets of transactions. [0148] The determination of transaction subsets to which the transaction data belongs according to the data change ranges of the transaction data may comprise: according to the data change ranges of the transaction data, insert transaction data that have data change ranges that overlap in the same set of transactions, and split transaction data that have data change ranges that don't overlap into different subsets of transactions. [0149] The determination of subsets of transactions to which the data Petition 870190083900, of 27/08/2019, p. 38/67 32/35 transactions belong according to the transaction types and ranges of data change of the transaction data can additionally comprise: [0150] determine a level I subset to which the transaction data belongs according to the transaction types of the transaction data; and [0151] determine a level II subset to which the transaction data belongs according to the data change ranges of the transaction data in the level I subset, and use the level II subset as the transaction subset, where the level II subset is a subset of the level I subset. [0152] The detailed implementation of this modality corresponds to step S102 in Modality 1, and all relevant descriptions of Modality 1 are applicable to this modality, which will not be elaborated here. [0153] An element of common skill in the art should understand that the modalities of the present invention can be provided, as a method, system or computer program product. Therefore, the present invention can be implemented, as a complete hardware modality, a complete software modality or a modality that combines software and hardware. In addition, the present invention may be in the form of a computer program product implemented in one or more storage media useful for computers (including, but not limited to, a magnetic disk memory, CDROM, an optical memory, etc.) comprising useful computer program codes. [0154] The present invention is described with reference to flowcharts and / or block diagrams of the method, device (system) and computer program product according to the modalities of the present invention. It should be understood that a computer program instruction can be used to implement each process and / or block in flowcharts and / or block diagrams and Petition 870190083900, of 27/08/2019, p. 39/67 33/35 a combination of processes and / or blocks in flowcharts and / or block diagrams. These computer program instructions may be provided for a general purpose computer, a special purpose computer, an embedded processor, or a processor for other programmable data processing devices to generate a machine, causing instructions executed by a computer or a processor of other programmable data processing devices to generate an apparatus for implementing a function specified in one or more processes in flowcharts and / or one or more blocks in block diagrams. [0155] These computer program instructions can also store in computer-readable memory that can instruct a computer or other programmable data processing devices to function in a particular way, causing instructions stored in computer-readable memory to generate a manufactured item that includes an instructional apparatus. The instruction apparatus implements a function specified in one or more processes in the flowcharts and / or in one or more blocks in the block diagrams. [0156] These computer program instructions can also be loaded onto a computer or other programmable data processing devices, causing a series of operational steps to be performed on the computer or other programmable devices, thereby generating implemented processing per computer. Therefore, instructions executed on the computer or other programmable devices provide steps to implement a function specified in one or more processes in flowcharts and / or in one or more blocks in block diagrams. [0157] In a typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces and a memory. Petition 870190083900, of 27/08/2019, p. 40/67 34/35 [0158] Memory can include computer-readable media, such as volatile memory, Random Access Memory (RAM) and / or non-volatile memory, for example, Read-Only Memory (ROM) or flash memory (RAM) flash). Memory is an example of a computer-readable medium. [0159] Computer-readable media include permanent, mobile, volatile and immobile media, which can implement information storage using any method or technology. The information can include computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, Phase Shift Random Access Memories (PRAMs), Static Random Access Memories (SRAMs), Dynamic Random Access Memories (DRAMs), other types of Access Memories Random (RAMs), Read Only Memories (ROMs), Electrically Erasable Programmable Read Only Memories (EEPROMs), flash memories or other memory technologies, Compact Disc Read Only Memories (CD-ROMs), Digital Versatile Discs (DVDs) ) or other optical memories, cassettes, tape and disk memories or other magnetic memory devices, or any other means of non-transmission, which can be used to store information accessible to a computing device. According to the definitions in the specification, computer-readable media do not include transient means (transient means), such as modulated and carrier data signals. [0160] It should also be noted that the terms "including", "comprising" or any other variants of the terms are intended to include a non-exclusive inclusion, making a process, a method, a commodity or a device comprising a series of elements not only comprises those elements, but also comprises other elements that are not clearly listed, or additionally comprises elements that are Petition 870190083900, of 27/08/2019, p. 41/67 35/35 inherent to the process, method, merchandise or device. When there is no additional restriction, the elements defined by the statement "comprising a ..." do not exclude a process, method, commodity or device comprising the above elements from comprising additional identical elements. [0161] An element of common skill in the art must understand that the modalities of the present application can be provided, as a method, a system or a computer program product. Therefore, the present application can be implemented as a complete hardware modality, a complete software modality or a modality that combines software and hardware. In addition, the present application may be in the form of a computer program product implemented in one or more storage media useful for computers (including, but not limited to, a magnetic disk memory, CD-ROM, an optical memory, etc.) which comprises useful computer program codes. [0162] The foregoing described are mere modalities of this application, which are not used to limit this application. For an element of common skill in the art, the present application may have several modifications and alterations. Any modification, equivalent replacement or improvement made in the spirit and principle of this order must be encompassed by the claims in this order.
权利要求:
Claims (21) [1] 1. Method for recording transaction data in a block chain CHARACTERIZED by the fact that it comprises: obtaining (S101) a plurality of pieces of transaction data to be recorded in the block chain; determine (S102) subsets of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no transaction dependency relationship between the transaction data belonging to subsets of different transactions; and execute (S103) the subsets of transactions in parallel, and record an execution result in the block chain. [2] 2. Method, according to claim 1, CHARACTERIZED by the fact that the determination of subsets of transactions to which the transaction data belong according to the types of transaction and / or data change ranges of the transaction data comprises: determine the subsets of transactions to which the transaction data belongs according to the data attributes of the transaction data, where a data attribute has a relationship corresponding to a transaction type and / or data change range of the transaction data transaction, and the data attribute is used to reflect a transaction dependency relationship for the transaction data. [3] 3. Method, according to claim 1, CHARACTERIZED by the fact that the execution of the subsets of transactions in parallel comprises: execute subsets of transactions in parallel with the use of multiple thread or a grouping of machines. Petition 870190083900, of 27/08/2019, p. 60/67 2/8 [4] 4. Method, according to claim 1, CHARACTERIZED by the fact that there is a corresponding relationship between the transaction data and the timestamps, and the execution of the subsets of transactions comprises: execute transaction data comprised in the subsets of serial transactions according to a time order corresponding to the timestamps. [5] 5. Method, according to claim 1, CHARACTERIZED by the fact that the determination of transaction subsets to which the transaction data belongs according to the transaction types of the transaction data comprises: according to the transaction types of the transaction data, inserting transaction data from the same transaction type into the same transaction set, and dividing transaction data from different transaction types into different transaction subsets. [6] 6. Method, according to claim 1, CHARACTERIZED by the fact that the determination of transaction subsets to which the transaction data belongs according to the data change ranges of the transaction data comprises: according to the data change ranges of the transaction data, insert transaction data that have data change ranges that overlap in the same set of transactions, and split transaction data that have data change ranges do not overlap in different subsets of transactions. [7] 7. Method, according to claim 6, CHARACTERIZED by the fact that, according to the data change ranges of the transaction data, the insertion of transaction data that have data change ranges that overlap in the same set of transactions and data sharing of Petition 870190083900, of 27/08/2019, p. 61/67 3/8 transactions that have data change ranges that do not overlap in different subsets of transactions comprise: go through data change ranges of transaction data; if the data change range of a first transaction data portion overlaps the data change range of a first transaction subset, add the first transaction data portion to the first transaction subset; and if the data change range of the first transaction data portion does not overlap the data change range of the first transaction subset, create a second transaction subset that comprises the first transaction data portion; where the first piece of transaction data is any of the pieces of transaction data, the first subset of transactions is any of the subsets of transactions, and the second subset of transactions is different from the first subset of transactions. [8] 8. Method, according to claim 6 or 7, CHARACTERIZED by the fact that the data change range of the transaction subset is determined to be a union of transaction data data change ranges comprised in the transaction subset. [9] 9. Method, according to claim 7, CHARACTERIZED by the fact that there is a corresponding relationship between the transaction data and the timestamps, and the ranges of change of data of displacement of the transaction data comprises: scroll in a time order corresponding to the timestamps according to the timestamps of the transaction data. [10] 10. Method, according to claim 1, CHARACTERIZED by the fact that the determination of subsets of transactions to which the data of Petition 870190083900, of 27/08/2019, p. 62/67 4/8 transactions belong according to the transaction types and data change ranges of the transaction data comprises: determine a level I subset to which the transaction data belongs according to the transaction types of the transaction data; and determine a level II subset to which the transaction data in the level I subset belongs according to the data change ranges of the transaction data, and use the level II subset as one of the transaction subsets, where the level II subset is a subset of the level I subset. [11] 11. Method, according to claim 10, CHARACTERIZED by the fact that the determination of a level I subset to which the transaction data belongs according to the transaction types of the transaction data comprises: according to the transaction types of the transaction data, insert transaction data from the same type of transaction into the same level I subset, and divide transaction data from different transaction types into different level I subsets. [12] 12. Method, according to claim 10, CHARACTERIZED by the fact that the determination of a level II subset to which the transaction data in the level I subset belongs according to the data change ranges of the transaction data comprises : according to the data change ranges of the transaction data in the level I subset, insert transaction data that have data change ranges that overlap in the same level II subset, and split transaction data that have ranges of data alteration of data that do not overlap in different level II subsets. Petition 870190083900, of 27/08/2019, p. 63/67 5/8 [13] 13. Method, according to claim 12, CHARACTERIZED by the fact that, according to the data change ranges of the transaction data in the level I subset, the insertion of transaction data that have data change ranges that overlap in the same level II subset and the split of transaction data that has data change ranges that do not overlap in different level II subsets comprises: traversing data change ranges for transaction data in a first level I subset; if the data change range of a second part of transaction data overlaps the data change range of a first level II subset, add the second part of transaction data to the first level II subset; and if the data change range of the second transaction data portion does not overlap the data change range of the first level II subset, create a second level II subset comprising the second transaction data portion; where the first level I subset is any level I subset in the level I subsets, the second part of transaction data is any part of the transaction data in the first level I subset, the first level II subset is any subset level II in the first level I subset and the second level II subset is different from the first level II subset. [14] 14. Method, according to claim 1, CHARACTERIZED by the fact that the plurality of parts of transaction data to be executed is obtained to form a set of transactions to be executed that comprises the transaction data, and the set of transactions is determined by a predefined amount of data processing and / or predefined transaction data time. Petition 870190083900, of 27/08/2019, p. 64/67 6/8 [15] 15. Method for recording transaction data in a block chain CHARACTERIZED by the fact that it comprises: obtaining a plurality of pieces of transaction data to be recorded in a block chain; determine the first transaction data without a transaction dependency relationship according to the data change ranges of the transaction data, in which there is no transaction dependency relationship between the first transaction data; and execute the first transaction data in parallel, and record an execution result in the block chain. [16] 16. Method, according to claim 15, CHARACTERIZED by the fact that the determination of the first transaction data without a transaction dependency relationship according to the data change ranges of the transaction data comprises: according to the data change ranges of the transaction data, determining transaction data with a data change range that does not overlap the data change range of any other piece of transaction data as the first transaction data does not have transaction dependency relationship. [17] 17. Device for recording transaction data in a block chain CHARACTERIZED by the fact that it comprises: a retrieval module (101) configured to retrieve a plurality of pieces of transaction data to be written to a block chain; a transaction subset determination module (102) configured to determine a subset of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data, in which there is no relationship dependence on Petition 870190083900, of 27/08/2019, p. 65/67 7/8 transaction between transaction data belonging to different subsets of transactions; and a data execution module (103) configured to execute the subsets of transactions in parallel, and record an execution result in the block chain. [18] 18. Method for determining a subset of block chain transaction data transactions FEATURED by the fact that it comprises: after a plurality of pieces of transaction data to be written to a block chain is obtained, determine subsets of transactions to which the transaction data belongs according to the transaction types and / or data change ranges of the transaction data to execute the subsets of transactions in parallel, and record an execution result in the block chain, in which there is no transaction dependency relationship between the transaction data belonging to different subsets of transactions. [19] 19. Method, according to claim 18, CHARACTERIZED by the fact that the determination of subsets of transactions to which the transaction data belong according to the types of transaction and / or data change ranges of the transaction data comprises: determine the subsets of transactions to which the transaction data belongs according to the data attributes of the transaction data, where a data attribute has a relationship corresponding to a transaction type and / or data change range of the transaction data transaction, and the data attribute is used to reflect a transaction dependency relationship for the transaction data. [20] 20. Method, according to claim 18, CHARACTERIZED by the fact that the determination of transaction subsets to which the transaction data belongs according to the transaction types of the transaction data Petition 870190083900, of 27/08/2019, p. 66/67 8/8 comprises: according to the transaction types of the transaction data, inserting transaction data from the same transaction type into the same transaction set, and dividing transaction data from different transaction types into different transaction subsets; or the determination of transaction subsets to which the transaction data belongs according to the data change ranges of the transaction data comprises: according to the data change ranges of the transaction data, inserting transaction data that has ranges change data that overlap in the same set of transactions, and split transaction data that has data change ranges that don't overlap into different subsets of transactions. [21] 21. Method, according to claim 18, CHARACTERIZED by the fact that the determination of subsets of transactions to which the transaction data belong according to the types of transaction and data change ranges of the transaction data comprises: determining a level I subset to which the transaction data belongs according to the transaction types of the transaction data; and determine a level II subset to which the transaction data in the level I subset belongs according to the data change ranges of the transaction data, and the use of the level II subset as one of the transaction subsets, where the level II subset is a subset of the level I subset.
类似技术:
公开号 | 公开日 | 专利标题 BR112019017863A2|2020-05-12|METHOD AND APPARATUS TO RECORD SERVICE DATA IN CHAIN OF BLOCKS AND METHOD FOR DETERMINING SUBCONJECT OF SERVICES JP6963006B2|2021-11-05|Data storage, data checking, and data concatenation methods and equipment JP6940615B2|2021-09-29|Data processing methods and devices US9811684B1|2017-11-07|Token-based storage service CN104794123A|2015-07-22|Method and device for establishing NoSQL database index for semi-structured data CN109032803B|2021-02-12|Data processing method and device and client TW201823988A|2018-07-01|Block data checking method and device EP3432132B1|2020-07-08|Data storage method and device CN108846749B|2021-09-07|Partitioned transaction execution system and method based on block chain technology CN107085570A|2017-08-22|Data processing method, application server and router US20200169385A1|2020-05-28|Data processing method and apparatus CN104598567A|2015-05-06|Data statistics and de-duplication method based on Hadoop MapReduce programming frame CN109032804B|2020-12-11|Data processing method and device and server CN109460406A|2019-03-12|A kind of data processing method and device CN108351797B|2021-08-31|Method and system for controlling reparse behavior associated with an intermediate directory CN107085501B|2020-04-03|Data storage method, data migration method, data storage device and data migration device US20220035534A1|2022-02-03|Method, device, and computer program product for extending partition of storage system US11243939B1|2022-02-08|Extended query families CN104932982A|2015-09-23|Message access memory compiling method and related apparatus OA19331A|2020-06-29|Data storage, data check, and data linkage method and apparatus
同族专利:
公开号 | 公开日 PH12019501795A1|2020-03-09| AU2018228540B2|2020-09-03| US10664305B1|2020-05-26| RU2019124224A|2021-02-01| TW201833796A|2018-09-16| JP2020509495A|2020-03-26| RU2744585C2|2021-03-11| CA3054813C|2021-04-20| EP3561700A4|2020-01-15| CN106980649B|2020-07-10| US20200150999A1|2020-05-14| KR102103130B1|2020-04-22| RU2019124224A3|2021-02-01| AU2018228540A1|2019-08-22| AU2019101606A4|2020-01-23| CA3054813A1|2018-09-07| US20190361731A1|2019-11-28| US10642643B2|2020-05-05| WO2018157778A1|2018-09-07| KR20190099087A|2019-08-23| ZA201904916B|2020-08-26| JP6928104B2|2021-09-01| SG11201907212SA|2019-09-27| TWI660281B|2019-05-21| MX2019009728A|2019-10-22| EP3561700A1|2019-10-30| CN106980649A|2017-07-25|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US10002019B2|2009-05-11|2018-06-19|International Business Machines Corporation|System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups| RU2554509C2|2010-10-06|2015-06-27|Александр Яковлевич Богданов|System and method of distributed computations| US8856283B2|2011-06-03|2014-10-07|Apple Inc.|Playlists for real-time or near real-time streaming| US20150379510A1|2012-07-10|2015-12-31|Stanley Benjamin Smith|Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.| US8688661B2|2012-06-15|2014-04-01|International Business Machines Corporation|Transactional processing| US9553982B2|2013-07-06|2017-01-24|Newvoicemedia, Ltd.|System and methods for tamper proof interaction recording and timestamping| US11126627B2|2014-01-14|2021-09-21|Change Healthcare Holdings, Llc|System and method for dynamic transactional data streaming| EP2961168A1|2014-06-27|2015-12-30|Thomson Licensing|Method and apparatus for predicting image samples for encoding or decoding| TWI528217B|2014-07-02|2016-04-01|柯呈翰|A method and system for adding dynamic labels to a file and encrypting the file| US9594644B2|2014-09-19|2017-03-14|Sybase, Inc.|Converting a serial transaction schedule to a parallel transaction schedule| US9967333B2|2015-03-02|2018-05-08|Dell Products Lp|Deferred configuration or instruction execution using a secure distributed transaction ledger| US9967334B2|2015-03-02|2018-05-08|Dell Products Lp|Computing device configuration and management using a secure decentralized transaction ledger| US10812274B2|2015-05-07|2020-10-20|Blockstream Corporation|Transferring ledger assets between blockchains via pegged sidechains| KR20180095912A|2015-12-21|2018-08-28|코차바 인크.|Self-regulated trading system and method| US10255108B2|2016-01-26|2019-04-09|International Business Machines Corporation|Parallel execution of blockchain transactions| US10108812B2|2016-01-28|2018-10-23|Nasdaq, Inc.|Systems and methods for securing and disseminating time sensitive information using a blockchain| WO2017136643A1|2016-02-03|2017-08-10|Luther Systems|System and method for secure management of digital contracts| WO2017134281A1|2016-02-04|2017-08-10|Nasdaq Technology Ab|Systems and methods for storing and sharing transactional data using distributed computer systems| US10129238B2|2016-02-10|2018-11-13|Bank Of America Corporation|System for control of secure access and communication with different process data networks with separate security features| US10142312B2|2016-02-22|2018-11-27|Bank Of America Corporation|System for establishing secure access for users in a process data network| US20170264428A1|2016-03-08|2017-09-14|Manifold Technology, Inc.|Data storage system with blockchain technology| WO2017173399A1|2016-03-31|2017-10-05|Clause, Inc.|System and method for creating and executing data-driven legal contracts| CN105893042A|2016-03-31|2016-08-24|北京航空航天大学|Intelligent contract implementation method based on block chain| EP3437048B1|2016-04-01|2021-06-09|ConsenSys Software Inc.|Systems and methods for providing data privacy in a private distributed ledger| GB201607476D0|2016-04-29|2016-06-15|Eitc Holdings Ltd|Operating system for blockchain IOT devices| EP3455996A4|2016-05-09|2020-01-22|Nokia Technologies Oy|Block chain based resource management| GB201611698D0|2016-07-05|2016-08-17|Eitc Holdings Ltd|Blockchain-implemented control method and system| WO2018013124A1|2016-07-14|2018-01-18|Digital Asset Holdings|Digital asset platform| CN106330431A|2016-08-29|2017-01-11|北京瑞卓喜投科技发展有限公司|Data processing method, apparatus and system based on block chain technology| CN106406896B|2016-09-27|2020-03-17|北京天德科技有限公司|Block chain block building method based on parallel Pipeline technology| CN106682984B|2016-10-27|2019-09-10|深圳壹账通智能科技有限公司|Transaction business process method and system based on block chain| CN108427601A|2017-02-13|2018-08-21|北京航空航天大学|A kind of cluster transaction processing method of privately owned chain node| CN106980649B|2017-02-28|2020-07-10|创新先进技术有限公司|Method and device for writing block chain service data and service subset determining method|CN106980649B|2017-02-28|2020-07-10|创新先进技术有限公司|Method and device for writing block chain service data and service subset determining method| CN107423124A|2017-07-27|2017-12-01|中链科技有限公司|A kind of method for being used to carry out transaction data parallel processing| CN107729137B|2017-09-04|2021-06-22|深圳壹账通智能科技有限公司|Server, block chain signature verification decryption method and storage medium| CN107678865A|2017-09-20|2018-02-09|中国银行股份有限公司|The verification method and system of block chain based on transaction packet| CN107734021B|2017-09-30|2020-04-07|深圳壹账通智能科技有限公司|Block chain data uploading method and system, computer system and storage medium| CN107786642B|2017-09-30|2020-04-17|上海数据交易中心有限公司|Block chain construction method and device for data circulation, storage medium and server| CN107833060B|2017-11-13|2020-12-25|中国银行股份有限公司|Verification method and system for intelligent contract transaction in block chain| CN108322309B|2017-12-27|2019-10-11|北京欧链科技有限公司|Transaction processing method and device based on block chain| WO2019127532A1|2017-12-29|2019-07-04|深圳前海达闼云端智能科技有限公司|Blockchain-based crowdfunding information processing method and device, storage medium and electronic device| CN110083437A|2018-01-25|2019-08-02|北京欧链科技有限公司|Handle the method and device of block chain affairs| CN108471510A|2018-01-29|2018-08-31|东莞理工学院|A kind of vision operation record protection method and system based on block chain| CN108564470B|2018-04-17|2021-09-28|北京天德科技有限公司|Transaction distribution method for parallel building blocks in block chain| CN108768994B|2018-05-22|2021-07-27|北京小米移动软件有限公司|Data matching method and device and computer readable storage medium| CN109087097B|2018-07-26|2020-11-03|京东数字科技控股有限公司|Method and device for updating same identifier of chain code| CN109191295A|2018-08-15|2019-01-11|深圳市元征科技股份有限公司|A kind of information processing method and its equipment| CN109325366A|2018-08-22|2019-02-12|深圳前海微众银行股份有限公司|Method for processing business, equipment and computer readable storage medium based on alliance's chain| US10860659B1|2018-09-06|2020-12-08|Amazon Technologies, Inc.|Distributed verification of digital work product| TWI698100B|2018-09-18|2020-07-01|柯賓漢數位金融科技有限公司|Method for generating and integrating multiple blockchains and blockchain system| CN109088722B|2018-10-08|2021-10-19|深圳投时科技有限公司|Block chain node evolution method and block chain node| CN109299195A|2018-10-23|2019-02-01|杭州能链科技有限公司|Data processing method, device and storage medium| CA3040783A1|2018-11-27|2019-04-18|Alibaba Group Holding Limited|System and method for improving security of smart contract on blockchain| US11138597B2|2018-11-27|2021-10-05|Advanced New Technologies Co., Ltd.|System and method for improving security of smart contract on blockchain| CN109766727B|2018-12-25|2021-04-06|苏州朗润创新知识产权运营有限公司|Intelligent block network construction method and system| CA3052348A1|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network| WO2019072305A2|2018-12-28|2019-04-18|Alibaba Group Holding Limited|Parallel execution of transactions in a blockchain network based on smart contract whitelists| ES2879908T3|2018-12-29|2021-11-23|Advanced New Technologies Co Ltd|Blockchain-based Distributed Open Collaboration of Map Apps| CA3057391A1|2019-03-04|2019-05-31|Alibaba Group Holding Limited|Methods and devices for providing transaction data to blockchain system for processing| JP6955026B2|2019-03-28|2021-10-27|アドバンスド ニュー テクノロジーズ カンパニー リミテッド|Systems and methods for parallel processing blockchain transactions| EP3625746A4|2019-04-12|2020-05-06|Alibaba Group Holding Limited|Performing parallel execution of transactions in a distributed ledger system| CN111095325A|2019-04-12|2020-05-01|阿里巴巴集团控股有限公司|Parallel execution of transactions in a distributed ledger system| KR102289612B1|2019-04-12|2021-08-18|어드밴스드 뉴 테크놀로지스 씨오., 엘티디.|Parallel execution of transactions in a distributed ledger system| KR102118178B1|2019-04-24|2020-06-02|주식회사 데이터젠|Multiple transaction parallel processing method and system for blockchain| CN110209671A|2019-05-17|2019-09-06|无锡朝阳供应链科技股份有限公司|A kind of the access system and its application of distribution account book data| US11249985B2|2019-06-15|2022-02-15|Facebook, Inc.|Scalable, secure, efficient, and adaptable distributed digital ledger transaction network| US11126593B2|2019-06-15|2021-09-21|Facebook, Inc.|Scalable, secure, efficient, and adaptable distributed digital ledger transaction network| US11249947B2|2019-06-15|2022-02-15|Facebook, Inc.|Distributed digital ledger transaction network for flexible, lazy deletion of data stored within an authenticated data structure| CN110570311B|2019-09-17|2021-05-25|北京海益同展信息科技有限公司|Block chain consensus method, device and equipment| CN110659308B|2019-09-24|2020-12-22|华润网络有限公司|Data clearing processing method and device| CN110728578A|2019-09-29|2020-01-24|南京金宁汇科技有限公司|Parallel execution method, system and storage medium for block chain transaction| CN110806923A|2019-10-29|2020-02-18|百度在线网络技术(北京)有限公司|Parallel processing method and device for block chain tasks, electronic equipment and medium| KR102315226B1|2020-03-16|2021-10-20|이정우|Block chain system based on consensus algorithm of proof-of-rule and method thereof| CN112508574A|2021-02-03|2021-03-16|北京全息智信科技有限公司|Block chain parallel transaction execution method and device and electronic equipment|
法律状态:
2021-05-04| B25A| Requested transfer of rights approved|Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY) | 2021-05-25| B25A| Requested transfer of rights approved|Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY) | 2021-10-19| B350| Update of information on the portal [chapter 15.35 patent gazette]|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 CN201710116539.7A|CN106980649B|2017-02-28|2017-02-28|Method and device for writing block chain service data and service subset determining method| CN201710116539.7|2017-02-28| PCT/CN2018/077286|WO2018157778A1|2017-02-28|2018-02-26|Method and apparatus for writing service data into block chain and method for determining service subset| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|